package com.example.boot04.mapper;

import com.example.boot04.entity.Product;
import org.apache.ibatis.annotations.*;

import java.util.List;

/*
 将当前接口设置为映射接口,Mybatis框架会根据此接口中得内容生成
 对应的实现类在实现类中生成对象的JDBC代码
 */
@Mapper
public interface ProductMapper {
    /*
        #{xxx} 会从方法的参数列表中找同名变量
        如果没有同名变量则调用里面的同名getXXX方法
     */
    @Insert("insert into product value(null,#{title},#{price},#{num})")
    void insert(Product product);
    // 生成的JDBC代码会自动的将查询到的数据封装到Product里面,并把对象装进List集合响应出来
    @Select("select id,title,price,num from product")
    List<Product> select();
    //
    @Delete("delete from product where id =#{id}")
    void deleteByid(int id);

    @Update("update product set title=#{title},price=#{price},num = #{num} where id = #{id}")
    void updata(Product product);
}